package main

import (
	"fmt"
	"strconv"
)

// addBinaryStrings 将两个二进制字符串相加，并返回结果的二进制字符串表示
func addBinaryStrings(a, b string) (string, error) {
	// 将二进制字符串转换为整数
	num1, err1 := strconv.ParseInt(a, 2, 64)
	num2, err2 := strconv.ParseInt(b, 2, 64)
	if err1 != nil || err2 != nil {
		return "", fmt.Errorf("无法解析二进制字符串: %v, %v", err1, err2)
	}

	// 执行整数加法
	sum := num1 + num2

	// 将结果转换为二进制字符串
	return strconv.FormatInt(sum, 2), nil
}

func main() {
	// 示例二进制字符串
	binaryA := "1101"
	binaryB := "1011"

	// 调用函数并打印结果
	result, err := addBinaryStrings(binaryA, binaryB)
	if err != nil {
		fmt.Println("错误:", err)
	} else {
		fmt.Println("二进制和:", result)
	}
}